﻿using System.ComponentModel.DataAnnotations;

namespace Merlba.Coffee.Business.Models
{
    public abstract class Shop : DomainEntity
    {
        [Required(ErrorMessage = "A name is required")]
        [StringLength(150,  ErrorMessage = "The name has a maximum length of 150 characters")]
        public string Name { get; set; }

        public RatingHistory RatingHistory { get; set; }
              
        public string WebSiteUrl { get; set; }

        public string Email { get; set; }

        public string Mobile { get; set; }

        public string Phone { get; set; }

        public string Fax { get; set; }

        [Required(ErrorMessage = "Trading Hours is required")]
        [StringLength(150, ErrorMessage = "The trading name has a maximum length of 150 characters")]
        public string TradingHours { get; set; }

        [Required(ErrorMessage = "A street name is required")]
        [StringLength(250, ErrorMessage = "The street name has a maximum length of 250 characters")]
        public string StreetName { get; set; }

        [Required(ErrorMessage = "A suburb is required")]
        [StringLength(150, ErrorMessage = "The suburb has a maximum length of 150 characters")]
        public string Suburb { get; set; }

        [Required(ErrorMessage = "A state is required")]
        public AustralianState State { get; set; }

        public Country Country { get; set; }
    }
}